boxcli: add clean command #2341
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This if a first draft for #2335, I am not sure about the behaviour or features of the command yet so I only added basic functionality.
The issue also mentioned deleting files like .envrc, I didn't include this yet since these files might be generated by a user instead of the devbox, maybe this should be added by an optional parameter? or are generated files tracked?
I also wasn't sure if the clean command should exit the devbox shell or not. In case it should, is the pid of the devbox saved anywhere so it can be killed, or is there a better way to do so?
How was it tested?
=> expected result: .devbox, devbox.lock are deleted and the user remains in the shell.
I also included a test, but I can't test it because of #2342 so it might fail.
Edit
The behaviour is as following now:
running
devbox clean
deletes .devbox and devbox.lockrunning
devbox clean --hard
asks for a confirmation and also deletes devbox.json